<?php

/**
 * Lacunas
 *  
 * @author diego
 * @version 
 */

require_once 'Zend/Db/Table/Abstract.php';

class Lacunas extends Zend_Db_Table_Abstract {
	
	protected $_name = 'tex_lacunas';
	
	protected $_referenceMap    =	array(
	'Texto' => array(
            'columns'           => 'id_texto',
            'refTableClass'     => 'Textos',
            'refColumns'        => 'id'
        )
    );
    
    public function update(array $dados, $id) {
    	parent::update($dados, $this->getAdapter()->quoteInto('id = ?', $id));
    }
    
    public function delete($id) {
    	parent::delete($this->getAdapter()->quoteInto('id = ?', $id));
    }
    
    
	public function findByTexto($id, $ordem = 'inicio asc') {
		return $this->fetchAll ( $this->getAdapter ()->quoteInto ( 'id_texto = ?', $id ), $ordem );
	}
	
	public function adicionaTentativa($id, $usuario) {
		$lacunasTentativasDAO = new LacunasTentativas();
		$lacunasTentantivas = $lacunasTentativasDAO->find($id,$usuario)->current();
		$dados = array(
			'id_lacuna' => $id,
			'id_usuario'=> $usuario,
			'tentativas'=> (int)$lacunasTentantivas->tentativas + 1
		) ;
		if (!$lacunasTentantivas) {
			$lacunasTentativasDAO->insert($dados);
		} else {
			$lacunasTentativasDAO->update($dados, $id, $usuario);
		}
	}
	
	public function confirmaAcerto($id,$usuario) {
		$lacunasTentativasDAO = new LacunasTentativas();
		$lacunasTentantivas = $lacunasTentativasDAO->find($id,$usuario)->current();
		$lacunasTentantivas->tentativas = 0;
		$dados = array(
			'id_lacuna' => $id,
			'id_usuario'=> $usuario,
			'tentativas'=> $lacunasTentantivas->tentativas,
			'acertou' => 0
		) ;
		if (!$lacunasTentantivas) {
			$lacunasTentativasDAO->insert($dados);
		} else {
			$lacunasTentativasDAO->update($dados, $id, $usuario);
		}
	}
}
